from lxml import etree

def add_topic(parent, title):
    topic = etree.SubElement(parent, "topic")
    topic_title = etree.SubElement(topic, "title")
    topic_title.text = title
    return topic

# 创建根元素
root = etree.Element("map")

# 添加中心主题
central_topic = add_topic(root, "智能客服AI")

# 根据提供的数据结构递归添加子主题
def build_structure(parent, structure):
    for item in structure:
        new_topic = add_topic(parent, item['title'])
        if 'topics' in item and item['topics']:
            build_structure(new_topic, item['topics'])

build_structure(central_topic, [
    {'title': '复杂度识别测试', 'topics': [
        {'title': '分组2', 'topics': [
            {'title': '复杂度识别测试，提问一个简单的的问题', 'makers': ['priority-2'], 'topics': [
                {'title': '前置条件：\n1、客户的微信，已添加企微群聊\n\n用例步骤：\n1、客户在群聊中，提问一个简单的问题\n例如：如何查询车辆行驶里程', 'topics': [
                    {'title': 'ai回复问题解决方案，且成功获取客户反馈的姓名和车牌号码'}
                ]}
            ]},
            {'title': '复杂度识别测试，分组2，复杂度识别测试，提问一个简单的的问题', 'makers': ['priority-2'], 'topics': [
                {'title': '前置条件：\n1、客户的微信，已添加企微群聊\n\n用例步骤：\n1、客户在群聊中，提问一个简单的问题\n例如：如何查询车辆行驶里程', 'topics': [
                    {'title': 'ai回复问题解决方案，且成功获取客户反馈的姓名和车牌号码'}
                ]}
            ]}
        ]}
    ]}
])

# 将结果写入文件
tree = etree.ElementTree(root)
tree.write("output.mm", pretty_print=True, xml_declaration=True, encoding='UTF-8')

print("思维导图的XML版本已创建，名为output.mm，你可以使用XMind打开此文件。")